package com.soft.mainsite.module.staticstrategy.dao;

import com.soft.mainsite.module.staticstrategy.entity.TemplateManage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * TemplateManageDao.java 此类用于静态化模板管理Dao
 *
 * @author:刘兴家
 * @date:2019/4/24
 * @remark:
 */
public interface TemplateManageDao {

    /**
     * 添加
     *
     * @param templateName
     * @param storagePathType
     * @param staticType
     * @param renderTemplateName
     * @param basePath
     * @return
     */
    Integer addTemplateManage(@Param("templateName") String templateName,
                              @Param("storagePathType") int storagePathType,
                              @Param("staticType") int staticType,
                              @Param("renderTemplateName") String renderTemplateName,
                              @Param("basePath") String basePath);


    /**
     * 修改
     *
     * @param templateId
     * @param templateName
     * @param storagePathType
     * @param staticType
     * @param renderTemplateName
     * @param basePath
     * @return
     */
    Integer modifyTemplateManage(@Param("templateId") Long templateId,
                                 @Param("templateName") String templateName,
                                 @Param("storagePathType") int storagePathType,
                                 @Param("staticType") int staticType,
                                 @Param("renderTemplateName") String renderTemplateName,
                                 @Param("basePath") String basePath);

    /**
     * 查询
     *
     * @param templateId
     * @param templateName
     * @return
     */
    TemplateManage querfyTemplateManage(@Param("templateId") Long templateId, @Param("templateName") String templateName);

    /**
     * 查询通用模板
     *
     * @param storagePathType
     * @return
     */
    List<TemplateManage> queryCommonTemplateManage(@Param("storagePathType") int storagePathType);

    /**
     * 查询私有单页
     *
     * @param staticType
     * @return
     */
    List<TemplateManage> querySingleTemplateManage(@Param("staticType") int staticType);


    /**
     * 根据模板名称查询关联静态化的模板
     *
     * @param templateName
     * @return
     */
    List<TemplateManage> queryRelationManageByParnetTemplate(@Param("templateName") String templateName);

    /**
     * 根据模板名称查询触发静态化的模板
     *
     * @param templateName
     * @return
     */
    List<TemplateManage> queryTriggerManageByParnetTemplate(@Param("templateName") String templateName);

    /**
     * 查询公共单页模板
     *
     * @param singleStatic
     * @return
     */
    List<TemplateManage> getCommonSingleTemplateManage(Integer singleStatic);
}







